import qqMap from '../../../utils/qqmap'
Page({
  data: {
    // 当前位置
    address: '',
    // 周围的小区数组
    points: [],
  },
  onLoad() {
    // 一进入先获取当前位置的经纬度
    this.getLocation()
  },
  // 1. 获取用户当前位置的经纬度
  // latitude 纬度(小的)  longitude 经度(大的)
  async getLocation() {
    const { latitude, longitude } = await wx.getLocation()
    // console.log(latitude, longitude)
    this.getPoints(latitude, longitude)
  },
  // 2. 重新定位(自己去选择位置)
  async chooseLocation() {
    const { latitude, longitude } = await wx.chooseLocation()
    // console.log(latitude, longitude)
    this.getPoints(latitude, longitude)
  },
  // 3. 根据经纬度获取当前位置和附近社区
  getPoints(latitude, longitude) {
    // 3.0 展示加载动画
    wx.showLoading({
      title: '正在获取位置信息',
    })

    // 3.1 逆地址解析
    qqMap.reverseGeocoder({
      location: [latitude, longitude].join(',') || '', //获取传入的位置坐标,不填默认当前位置
      success: ({ result: { address } }) => {
        this.setData({
          address,
        })
      },
      fail: (error) => {
        wx.utils.toast('根据经纬度获取位置信息失败~')
      },
    })

    // 3.2 获取周边poi
    qqMap.search({
      keyword: '住宅小区', //搜索关键词
      location: [latitude, longitude].join(',') || '', //设置周边搜索中心点
      page_size: 8, // 每次搜索的条数
      success: (res) => {
        const points = []
        res.data.forEach(({ id, title, _distance }) => {
          points.push({ id, title, _distance })
        })
        // 更新数据
        this.setData({
          points,
        })
      },
      fail: () => {
        wx.utils.toast('当前位置周边没有住宅小区')
      },
      complete: () => {
        wx.hideLoading()
      },
    })
  },
  // 4. 跳转到楼栋页面
  goBuilding(ev) {
    // console.log(ev)
    wx.navigateTo({
      url: `/house_pkg/pages/building/index?point=${ev.mark.point}`,
    })
  },
})
